﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace HauhaltsPlaner
{
    public partial class Kategorie : Form
    {
       
      


        DataTable dt;

        //Property
        public string CurrentProfile { get; set; }
        
        public Kategorie()
        {
            InitializeComponent();
        }

        private void Kategorie_Load(object sender, EventArgs e)
        {
            if (System.IO.File.Exists("./"+CurrentProfile+"/Kategorie.xml"))
            {
                InitlistBox1();
                if (dt.Rows.Count == 0)
                {
                    label1.Text = "Noch keine Daten vorhanden. \n" + "Bitte fügen Sie welche hinzu.";
                }
            }
            else { label1.Text = "Noch keine Daten vorhanden. \n" + "Bitte fügen Sie welche hinzu."; }
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
            this.MaximizeBox = false;
        }


        private void button2_Click(object sender, EventArgs e)
        {
            if (textBox1.Text!=""){
                if (dt == null)
                {
                    dt = new DataTable();
                    dt.Columns.Add("Name", typeof(string));
                }
                IOHandler writer = new IOHandler();
                if (!listBox1.Items.Contains(textBox1.Text))
                {
                    dt.Rows.Add((string)textBox1.Text);
                    writer.saveDataTable(CurrentProfile, "Kategorie", dt);
                    listBox1.Items.Clear();
                    InitlistBox1();
                    label1.Text = "Speichern war erfolgreich!";
                }
                else
                {
                    label1.Text = "Eintag ist schon vorhanden!";
                }


            }
            else { label1.Text = "Bitte fügen Sie einen Namen \n"+"für die Kategorie ein!";}
        }

        private void button1_Click(object sender, EventArgs e)
        {
            for (int i = dt.Rows.Count - 1; i > -1; i--)
            {
                if (listBox1.SelectedIndex == i)
                {
                    dt.Rows[i].Delete();
                    IOHandler writer = new IOHandler();
                    writer.saveDataTable(CurrentProfile, "Kategorie", dt);
                    listBox1.Items.Clear();
                    InitlistBox1();
                    label1.Text = "Löschen der Kategorie \n"+"war erfolgreich!";
                }
            }
        }

        private void InitlistBox1()
        {
            IOHandler reader = new IOHandler();
            dt = new DataTable();

            dt.Columns.Add("KategorieName");
            dt = reader.loadDataTable(CurrentProfile, "Kategorie");
            listBox1.DataSource = null;
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                listBox1.Items.Add(dt.Rows[i][0]);
            }
        }
    }
}
